package com.zhongfeng.api.modules.ip.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhongfeng.api.modules.end.vo.params.EndParams;
import com.zhongfeng.api.modules.ip.vo.IpVo;
import com.zhongfeng.api.modules.ip.vo.params.IpParams;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface IpMapper {

    /**
     * 查询全部IP
     * @param page
     * @param params
     * @return
     */
    List<IpVo> queryAllIp(Page<IpVo> page, @Param("params") IpParams params);

    /**
     * 新增IP地址
     * @param params
     * @return
     */
    int addIp(@Param("params") IpParams params);

    /**
     * 删除IP地址
     * @param id
     * @return
     */
    int deleteIp(Integer id);

    /**
     * 根据id查询Ip
     * @param id
     * @return
     */
    IpVo queryIpById(Integer id);

    /**
     * 修改IP地址
     * @param params
     * @return
     */
    int updateIp(@Param("params") IpParams params);

    /**
     * 验证ip是否存在
     * @param ip
     * @return
     */
    int checkIp(String ip);

    /**
     * 查询IP
     * @param idList
     * @return
     */
    List<String> queryIp(List<Integer> idList);

    /**
     * 查询全部IP类型
     * @param params
     * @return
     */
    List<IpVo> queryAllIpType(IpParams params);
}
